<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>SoC Library API</title>
<link href="tabs.css" rel="stylesheet" type="text/css" />
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="alias.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="alias.js"></script>

<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>


<script type="text/javascript">
  jQuery(document).ready(function () {
    if(gref){ // Number all _img and _table classes
      gref();
    }
  });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->

<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">nRF51822 BLE SDK
   
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('group__nrf__soc__api.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#groups">Modules</a> &#124;
<a href="#define-members">Defines</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">SoC Library API</div>  </div>
<div class="ingroups"><a class="el" href="group__s110.html">S110 SoftDevice</a></div></div>
<div class="contents">

<p>APIs for the SoC library.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="groups"></a>
Modules</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__error.html">SoC Library Error Codes</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Error definitions for the SoC library. </p>
<br/></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5907cc7ce1f01bd6113de826ed7d26bb"></a><!-- doxytag: member="nrf_soc_api::SOC_SVC_BASE" ref="ga5907cc7ce1f01bd6113de826ed7d26bb" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga5907cc7ce1f01bd6113de826ed7d26bb">SOC_SVC_BASE</a>&#160;&#160;&#160;0x20</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of the lowest SVC number reserved for the SoC library. <br/></td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef volatile uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#gaa1ec46ac9de000227852834ec1ff86ea">nrf_mutex_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents a mutex for use with the nrf_mutex functions.  <a href="#gaa1ec46ac9de000227852834ec1ff86ea"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4238ce3ed489f96720efd94ba269ef34"></a><!-- doxytag: member="nrf_soc_api::nrf_power_mode_t" ref="ga4238ce3ed489f96720efd94ba269ef34" args="" -->
typedef uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga4238ce3ed489f96720efd94ba269ef34">nrf_power_mode_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents a power mode, used in power mode functions. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac0c2f5c58e2f930814dcf5b878fe7907"></a><!-- doxytag: member="nrf_soc_api::nrf_power_failure_threshold_t" ref="gac0c2f5c58e2f930814dcf5b878fe7907" args="" -->
typedef uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#gac0c2f5c58e2f930814dcf5b878fe7907">nrf_power_failure_threshold_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents a power failure threshold value. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2fa1cbca17f204aac02cf3654567dd9c"></a><!-- doxytag: member="nrf_soc_api::nrf_power_failure_callback_t" ref="ga2fa1cbca17f204aac02cf3654567dd9c" args=")(void)" -->
typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga2fa1cbca17f204aac02cf3654567dd9c">nrf_power_failure_callback_t</a> )(void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Power failure threshold callback. <br/></td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<b>SVC_MUTEX_NEW</b> =  SOC_SVC_BASE, 
<b>SVC_MUTEX_ACQUIRE</b>, 
<b>SVC_MUTEX_RELEASE</b>, 
<b>SVC_NVIC_ENABLEIRQ</b>, 
<br/>
&#160;&#160;<b>SVC_NVIC_DISABLEIRQ</b>, 
<b>SVC_NVIC_GETPENDINGIRQ</b>, 
<b>SVC_NVIC_SETPENDINGIRQ</b>, 
<b>SVC_NVIC_CLEARPENDINGIRQ</b>, 
<br/>
&#160;&#160;<b>SVC_NVIC_SETPRIORITY</b>, 
<b>SVC_NVIC_GETPRIORITY</b>, 
<b>SVC_NVIC_SYSTEMRESET</b>, 
<b>SVC_NVIC_CRITICAL_REGION_ENTER</b>, 
<br/>
&#160;&#160;<b>SVC_NVIC_CRITICAL_REGION_EXIT</b>, 
<b>SVC_RAND_APPLICATION_POOL_CAPACITY</b>, 
<b>SVC_RAND_APPLICATION_BYTES_AVAILABLE</b>, 
<b>SVC_RAND_APPLICATION_GET_VECTOR</b>, 
<br/>
&#160;&#160;<b>SVC_POWER_MODE_SET</b>, 
<b>SVC_POWER_PERPOWER_SET</b>, 
<b>SVC_POWER_PERPOWER_CLR</b>, 
<b>SVC_POWER_PERPOWER_GET</b>, 
<br/>
&#160;&#160;<b>SVC_POWER_PERRDY_GET</b>, 
<b>SVC_POWER_SYSTEM_OFF</b>, 
<b>SVC_POWER_RESET_REASON_GET</b>, 
<b>SVC_POWER_RESET_REASON_CLR</b>, 
<br/>
&#160;&#160;<b>SVC_POWER_POF_ENABLE</b>, 
<b>SVC_POWER_POF_THRESHOLD_SET</b>, 
<b>SVC_POWER_RAMON_SET</b>, 
<b>SVC_POWER_RAMON_CLR</b>, 
<br/>
&#160;&#160;<b>SVC_POWER_RAMON_GET</b>, 
<b>SVC_NRF_WAIT_FOR_APP_EVENT</b>, 
<b>SVC_CLOCK_HFCLK_REQUEST</b>, 
<b>SVC_CLOCK_HFCLK_RELEASE</b>, 
<br/>
&#160;&#160;<b>SVC_CLOCK_HFCLK_IS_RUNNING</b>, 
<b>SVC_PPI_CHANNEL_ENABLE_GET</b>, 
<b>SVC_PPI_CHANNEL_ENABLE_SET</b>, 
<b>SVC_PPI_CHANNEL_ENABLE_CLR</b>, 
<br/>
&#160;&#160;<b>SVC_PPI_CHANNEL_ASSIGN</b>, 
<b>SVC_PPI_GROUP_TASK_ENABLE</b>, 
<b>SVC_PPI_GROUP_TASK_DISABLE</b>, 
<b>SVC_PPI_GROUP_ASSIGN</b>, 
<br/>
&#160;&#160;<b>SVC_PPI_GROUP_GET</b>, 
<b>SVC_SOC_LAST</b>
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The SVC numbers used by the SVC functions in the SoC library. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <b>NRF_MUTEX_FREE</b>, 
<b>NRF_MUTEX_TAKEN</b>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Possible values of a <a class="el" href="group__nrf__soc__api.html#gaa1ec46ac9de000227852834ec1ff86ea" title="Represents a mutex for use with the nrf_mutex functions.">nrf_mutex_t</a>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#gae4f033d4d50d42e8b1390dade6ee8f98">nrf_app_irq_priority_t</a> { <b>NRF_APP_PRIORITY_HIGH</b> =  1, 
<b>NRF_APP_PRIORITY_LOW</b> =  3
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The interrupt priorities available to the application while the softdevice is active. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group__nrf__soc__api.html#gga7ff5f2dff38e7639981794c43dc9167bac6041efce8dd9ac076796ac3b9540887">NRF_POWER_MODE_CONSTLAT</a>, 
<a class="el" href="group__nrf__soc__api.html#gga7ff5f2dff38e7639981794c43dc9167bab029397a420ae259a1aba7e4bb132617">NRF_POWER_MODE_LOWPWR</a>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Possible values of <a class="el" href="group__nrf__soc__api.html#ga4238ce3ed489f96720efd94ba269ef34" title="Represents a power mode, used in power mode functions.">nrf_power_mode_t</a>.  <a href="group__nrf__soc__api.html#ga7ff5f2dff38e7639981794c43dc9167b">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group__nrf__soc__api.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8a41af1d0b4975d70c15f80600362a33aa">NRF_POWER_THRESHOLD_V21</a>, 
<a class="el" href="group__nrf__soc__api.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8adb687e57343f6a2fef22b5112c6db586">NRF_POWER_THRESHOLD_V23</a>, 
<a class="el" href="group__nrf__soc__api.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ac709573ee044617b2eb9e3485d07a960">NRF_POWER_THRESHOLD_V25</a>, 
<a class="el" href="group__nrf__soc__api.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ae41806a99c3aeb93cf356ec49cfd67f6">NRF_POWER_THRESHOLD_V27</a>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Possible values of <a class="el" href="group__nrf__soc__api.html#gac0c2f5c58e2f930814dcf5b878fe7907" title="Represents a power failure threshold value.">nrf_power_failure_threshold_t</a>.  <a href="group__nrf__soc__api.html#gaabfcbcb5ac86a1edac4035264bc7d2b8">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#gaf0dbc8267e831265bd2c49947965946b">nrf_mutex_new</a> (<a class="el" href="group__nrf__soc__api.html#gaa1ec46ac9de000227852834ec1ff86ea">nrf_mutex_t</a> *p_mutex)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize a mutex.  <a href="#gaf0dbc8267e831265bd2c49947965946b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga2b5ebe5277da53b0f1f3e69b46cc9ffa">nrf_mutex_acquire</a> (<a class="el" href="group__nrf__soc__api.html#gaa1ec46ac9de000227852834ec1ff86ea">nrf_mutex_t</a> *p_mutex)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempt to acquire a mutex.  <a href="#ga2b5ebe5277da53b0f1f3e69b46cc9ffa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga0677e2f67a0e706af16ed651eecdf452">nrf_mutex_release</a> (<a class="el" href="group__nrf__soc__api.html#gaa1ec46ac9de000227852834ec1ff86ea">nrf_mutex_t</a> *p_mutex)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Release a mutex.  <a href="#ga0677e2f67a0e706af16ed651eecdf452"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga624ecb710ec5cdaf22893608d55c6f3a">nrf_nvic_EnableIRQ</a> (IRQn_Type IRQn)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable External Interrupt.  <a href="#ga624ecb710ec5cdaf22893608d55c6f3a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#gac145fde7e2f48e88ab229c375b062993">nrf_nvic_DisableIRQ</a> (IRQn_Type IRQn)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable External Interrupt.  <a href="#gac145fde7e2f48e88ab229c375b062993"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga25cc663bcd35f40c231844c627b7fc3b">nrf_nvic_GetPendingIRQ</a> (IRQn_Type IRQn, uint32_t *p_pending_irq)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Pending Interrupt.  <a href="#ga25cc663bcd35f40c231844c627b7fc3b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#gaad1ef845b8cce8412c037cf82f95060a">nrf_nvic_SetPendingIRQ</a> (IRQn_Type IRQn)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set Pending Interrupt.  <a href="#gaad1ef845b8cce8412c037cf82f95060a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga444796a3a1fc91db087ceebcd92d6561">nrf_nvic_ClearPendingIRQ</a> (IRQn_Type IRQn)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear Pending Interrupt.  <a href="#ga444796a3a1fc91db087ceebcd92d6561"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#gad1a939313c86ac881a0b1043715ef475">nrf_nvic_SetPriority</a> (IRQn_Type IRQn, <a class="el" href="group__nrf__soc__api.html#gae4f033d4d50d42e8b1390dade6ee8f98">nrf_app_irq_priority_t</a> priority)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set Interrupt Priority.  <a href="#gad1a939313c86ac881a0b1043715ef475"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#gaf411d0efea26ac8a0003ce57f43d46b1">nrf_nvic_GetPriority</a> (IRQn_Type IRQn, <a class="el" href="group__nrf__soc__api.html#gae4f033d4d50d42e8b1390dade6ee8f98">nrf_app_irq_priority_t</a> *p_priority)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Interrupt Priority.  <a href="#gaf411d0efea26ac8a0003ce57f43d46b1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga14316a62c4a2010b6222c4ea764079c2">nrf_nvic_SystemReset</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">System Reset.  <a href="#ga14316a62c4a2010b6222c4ea764079c2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga45b358c92b51248f9e55e1d99756136b">nrf_nvic_critical_region_enter</a> (uint8_t *p_is_nested_critical_region)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enters critical region.  <a href="#ga45b358c92b51248f9e55e1d99756136b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga476819b5a0f3d7c0a378d11c5ee88650">nrf_nvic_critical_region_exit</a> (uint8_t is_nested_critical_region)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Exit critical region.  <a href="#ga476819b5a0f3d7c0a378d11c5ee88650"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga4310a2c78bbf9e780e377ce7187da035">nrf_rand_application_pool_capacity_get</a> (uint8_t *p_pool_capacity)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Query the capacity of the application random pool.  <a href="#ga4310a2c78bbf9e780e377ce7187da035"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga529a78306776d8cfb18c874aef536025">nrf_rand_application_bytes_available_get</a> (uint8_t *p_bytes_available)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get number of random bytes available to the application.  <a href="#ga529a78306776d8cfb18c874aef536025"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga6ba4c4423a03c0cac787f854a7374950">nrf_rand_application_vector_get</a> (uint8_t *p_buff, uint8_t length)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get random bytes from the application pool.  <a href="#ga6ba4c4423a03c0cac787f854a7374950"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga7316584719bbc8a3ac9db9179cc6eeda">nrf_power_reset_reason_get</a> (uint32_t *p_reset_reason)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the reset reason register.  <a href="#ga7316584719bbc8a3ac9db9179cc6eeda"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga7c2fdd9ec1122b6d6902fef11d1fe029">nrf_power_reset_reason_clr</a> (uint32_t reset_reason_clr_msk)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the bits of the reset reason register.  <a href="#ga7c2fdd9ec1122b6d6902fef11d1fe029"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#gaa80ebbe8aac1a74f0e389d07411cdf4b">nrf_power_mode_set</a> (<a class="el" href="group__nrf__soc__api.html#ga4238ce3ed489f96720efd94ba269ef34">nrf_power_mode_t</a> power_mode)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the power mode when in CPU sleep.  <a href="#gaa80ebbe8aac1a74f0e389d07411cdf4b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga4070a6cd178fce204f58a1bf6e3fc954">nrf_power_perpower_set</a> (uint32_t peripheral_power_msk)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets bits in the NRF_POWER-&gt;PERPOWER register.  <a href="#ga4070a6cd178fce204f58a1bf6e3fc954"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga32fbf0020bac4b9746178a337ff276c7">nrf_power_perpower_clr</a> (uint32_t peripheral_power_msk)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears bits in the NRF_POWER-&gt;PERPOWER register.  <a href="#ga32fbf0020bac4b9746178a337ff276c7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#gabaf2aa42d1d287d9d4fd2b00ecda1da7">nrf_power_perrdy_get</a> (uint32_t *p_perrdy)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get contents of NRF_POWER-&gt;PERRDY register, indicates which peripherals are powered on/off.  <a href="#gabaf2aa42d1d287d9d4fd2b00ecda1da7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga302701614c7bb1c9fc01dafec2bb04fb">nrf_power_system_off</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts the chip in System OFF mode.  <a href="#ga302701614c7bb1c9fc01dafec2bb04fb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga9a68c632ad6a5ce523de969060b211c5">nrf_power_pof_enable</a> (uint8_t pof_enable, <a class="el" href="group__nrf__soc__api.html#ga2fa1cbca17f204aac02cf3654567dd9c">nrf_power_failure_callback_t</a> pof_callback)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the power-fail comparator.  <a href="#ga9a68c632ad6a5ce523de969060b211c5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga6d0f7bfe966b1137f0667f56ad068462">nrf_power_pof_threshold_set</a> (<a class="el" href="group__nrf__soc__api.html#gac0c2f5c58e2f930814dcf5b878fe7907">nrf_power_failure_threshold_t</a> threshold)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the power-fail threshold value.  <a href="#ga6d0f7bfe966b1137f0667f56ad068462"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga8abf79b52943726785255263a7d6efb0">nrf_power_ramon_set</a> (uint32_t ramon)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets bits in the NRF_POWER-&gt;RAMON register.  <a href="#ga8abf79b52943726785255263a7d6efb0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#gac334721cc6122795d4a39466f615f4f1">nrf_power_ramon_clr</a> (uint32_t ramon)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears bits in the NRF_POWER-&gt;RAMON register.  <a href="#gac334721cc6122795d4a39466f615f4f1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga29d403a9d694ef748c4ad69cafee708b">nrf_power_ramon_get</a> (uint32_t *p_ramon)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get contents of NRF_POWER-&gt;RAMON register, indicates power status of ram blocks.  <a href="#ga29d403a9d694ef748c4ad69cafee708b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga03b395172fd9e6157542a54d2b0d9846">nrf_clock_hfclk_request</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Request the high frequency crystal oscillator.  <a href="#ga03b395172fd9e6157542a54d2b0d9846"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#gaf8784db461524e809a2a35c0e19959cb">nrf_clock_hfclk_release</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases the high frequency crystal oscillator.  <a href="#gaf8784db461524e809a2a35c0e19959cb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#gaa3fb83e20c2a3f6b3939fcdd232e94a6">nrf_clock_hfclk_is_running</a> (uint32_t *p_is_running)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the high frequency crystal oscillator is running.  <a href="#gaa3fb83e20c2a3f6b3939fcdd232e94a6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga2aae5f388f1b6179058c62e2fb05a547">nrf_wait_for_app_event</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Waits for an application event.  <a href="#ga2aae5f388f1b6179058c62e2fb05a547"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#gab9f02ac43ec7754bf327571aebd6a612">nrf_ppi_channel_enable_get</a> (uint32_t *p_channel_enable)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get PPI channel enable register contents.  <a href="#gab9f02ac43ec7754bf327571aebd6a612"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#gad18f79c96963c57714cf30b5922fe8e5">nrf_ppi_channel_enable_set</a> (uint32_t channel_enable_set_msk)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set PPI channel enable register.  <a href="#gad18f79c96963c57714cf30b5922fe8e5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga6374d2c7eb2e47f87dd7cd8d7e246e04">nrf_ppi_channel_enable_clr</a> (uint32_t channel_enable_clr_msk)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear PPI channel enable register.  <a href="#ga6374d2c7eb2e47f87dd7cd8d7e246e04"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga36d104cdb021a86c919485ac34c48fa2">nrf_ppi_channel_assign</a> (uint8_t channel_num, const volatile void *event_endpoint, const volatile void *task_endpoint)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign endpoints to a PPI channel.  <a href="#ga36d104cdb021a86c919485ac34c48fa2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga60a133b68053dec8ba337640b5ca5faf">nrf_ppi_group_task_enable</a> (uint8_t group_num)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Task to enable a channel group.  <a href="#ga60a133b68053dec8ba337640b5ca5faf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga29923c615e02ef9b9aaca0c5edcac2e2">nrf_ppi_group_task_disable</a> (uint8_t group_num)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Task to disable a channel group.  <a href="#ga29923c615e02ef9b9aaca0c5edcac2e2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga12f534bb509f0e6f7fa4688eda7f98a0">nrf_ppi_group_assign</a> (uint8_t group_num, uint32_t channel_msk)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign PPI channels to a channel group.  <a href="#ga12f534bb509f0e6f7fa4688eda7f98a0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__soc__api.html#ga5385489e5ff909addcedf7e315504464">nrf_ppi_group_get</a> (uint8_t group_num, uint32_t *p_channel_msk)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the PPI channels of a channel group.  <a href="#ga5385489e5ff909addcedf7e315504464"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>APIs for the SoC library. </p>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="gaa1ec46ac9de000227852834ec1ff86ea"></a><!-- doxytag: member="nrf_soc.h::nrf_mutex_t" ref="gaa1ec46ac9de000227852834ec1ff86ea" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef volatile uint8_t <a class="el" href="group__nrf__soc__api.html#gaa1ec46ac9de000227852834ec1ff86ea">nrf_mutex_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Represents a mutex for use with the nrf_mutex functions. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Accessing the value directly is not safe, use the mutex functions! </dd></dl>

<p>Definition at line <a class="el" href="nrf__soc_8h_source.html#l00094">94</a> of file <a class="el" href="nrf__soc_8h_source.html">nrf_soc.h</a>.</p>

</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="ga7ff5f2dff38e7639981794c43dc9167b"></a><!-- doxytag: member="nrf_soc.h::@26" ref="ga7ff5f2dff38e7639981794c43dc9167b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Possible values of <a class="el" href="group__nrf__soc__api.html#ga4238ce3ed489f96720efd94ba269ef34" title="Represents a power mode, used in power mode functions.">nrf_power_mode_t</a>. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="gga7ff5f2dff38e7639981794c43dc9167bac6041efce8dd9ac076796ac3b9540887"></a><!-- doxytag: member="NRF_POWER_MODE_CONSTLAT" ref="gga7ff5f2dff38e7639981794c43dc9167bac6041efce8dd9ac076796ac3b9540887" args="" -->NRF_POWER_MODE_CONSTLAT</em>&nbsp;</td><td>
<p>Constant latency mode. See power management in the reference manual. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga7ff5f2dff38e7639981794c43dc9167bab029397a420ae259a1aba7e4bb132617"></a><!-- doxytag: member="NRF_POWER_MODE_LOWPWR" ref="gga7ff5f2dff38e7639981794c43dc9167bab029397a420ae259a1aba7e4bb132617" args="" -->NRF_POWER_MODE_LOWPWR</em>&nbsp;</td><td>
<p>Low power mode. See power management in the reference manual. </p>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="nrf__soc_8h_source.html#l00103">103</a> of file <a class="el" href="nrf__soc_8h_source.html">nrf_soc.h</a>.</p>

</div>
</div>
<a class="anchor" id="gaabfcbcb5ac86a1edac4035264bc7d2b8"></a><!-- doxytag: member="nrf_soc.h::@27" ref="gaabfcbcb5ac86a1edac4035264bc7d2b8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Possible values of <a class="el" href="group__nrf__soc__api.html#gac0c2f5c58e2f930814dcf5b878fe7907" title="Represents a power failure threshold value.">nrf_power_failure_threshold_t</a>. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ggaabfcbcb5ac86a1edac4035264bc7d2b8a41af1d0b4975d70c15f80600362a33aa"></a><!-- doxytag: member="NRF_POWER_THRESHOLD_V21" ref="ggaabfcbcb5ac86a1edac4035264bc7d2b8a41af1d0b4975d70c15f80600362a33aa" args="" -->NRF_POWER_THRESHOLD_V21</em>&nbsp;</td><td>
<p>2.1 Volts power failure threshold </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggaabfcbcb5ac86a1edac4035264bc7d2b8adb687e57343f6a2fef22b5112c6db586"></a><!-- doxytag: member="NRF_POWER_THRESHOLD_V23" ref="ggaabfcbcb5ac86a1edac4035264bc7d2b8adb687e57343f6a2fef22b5112c6db586" args="" -->NRF_POWER_THRESHOLD_V23</em>&nbsp;</td><td>
<p>2.3 Volts power failure threshold </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggaabfcbcb5ac86a1edac4035264bc7d2b8ac709573ee044617b2eb9e3485d07a960"></a><!-- doxytag: member="NRF_POWER_THRESHOLD_V25" ref="ggaabfcbcb5ac86a1edac4035264bc7d2b8ac709573ee044617b2eb9e3485d07a960" args="" -->NRF_POWER_THRESHOLD_V25</em>&nbsp;</td><td>
<p>2.5 Volts power failure threshold </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggaabfcbcb5ac86a1edac4035264bc7d2b8ae41806a99c3aeb93cf356ec49cfd67f6"></a><!-- doxytag: member="NRF_POWER_THRESHOLD_V27" ref="ggaabfcbcb5ac86a1edac4035264bc7d2b8ae41806a99c3aeb93cf356ec49cfd67f6" args="" -->NRF_POWER_THRESHOLD_V27</em>&nbsp;</td><td>
<p>2.7 Volts power failure threshold </p>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="nrf__soc_8h_source.html#l00112">112</a> of file <a class="el" href="nrf__soc_8h_source.html">nrf_soc.h</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gaf0dbc8267e831265bd2c49947965946b"></a><!-- doxytag: member="nrf_soc.h::nrf_mutex_new" ref="gaf0dbc8267e831265bd2c49947965946b" args="(nrf_mutex_t *p_mutex)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_mutex_new </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__nrf__soc__api.html#gaa1ec46ac9de000227852834ec1ff86ea">nrf_mutex_t</a> *&#160;</td>
          <td class="paramname"><em>p_mutex</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initialize a mutex. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_mutex</td><td>Pointer to the mutex to initialize.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga2b5ebe5277da53b0f1f3e69b46cc9ffa"></a><!-- doxytag: member="nrf_soc.h::nrf_mutex_acquire" ref="ga2b5ebe5277da53b0f1f3e69b46cc9ffa" args="(nrf_mutex_t *p_mutex)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_mutex_acquire </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__nrf__soc__api.html#gaa1ec46ac9de000227852834ec1ff86ea">nrf_mutex_t</a> *&#160;</td>
          <td class="paramname"><em>p_mutex</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Attempt to acquire a mutex. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_mutex</td><td>Pointer to the mutex to acquire.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> - if mutex was successfully acquired. </dd>
<dd>
<a class="el" href="group__nrf__soc__error.html#ga08505c75d1cc68c75b2b529f0acfd9e7" title="Mutex already taken.">NRF_ERROR_SOC_MUTEX_ALREADY_TAKEN</a> - if mutex could not be acquired. </dd></dl>

</div>
</div>
<a class="anchor" id="ga0677e2f67a0e706af16ed651eecdf452"></a><!-- doxytag: member="nrf_soc.h::nrf_mutex_release" ref="ga0677e2f67a0e706af16ed651eecdf452" args="(nrf_mutex_t *p_mutex)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_mutex_release </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__nrf__soc__api.html#gaa1ec46ac9de000227852834ec1ff86ea">nrf_mutex_t</a> *&#160;</td>
          <td class="paramname"><em>p_mutex</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Release a mutex. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_mutex</td><td>Pointer to the mutex to release.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga624ecb710ec5cdaf22893608d55c6f3a"></a><!-- doxytag: member="nrf_soc.h::nrf_nvic_EnableIRQ" ref="ga624ecb710ec5cdaf22893608d55c6f3a" args="(IRQn_Type IRQn)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_nvic_EnableIRQ </td>
          <td>(</td>
          <td class="paramtype">IRQn_Type&#160;</td>
          <td class="paramname"><em>IRQn</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enable External Interrupt. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Corresponds to NVIC_EnableIRQ in CMSIS.</dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>{IRQn is valid and not reserved by the stack}</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">IRQn</td><td>See the NVIC_EnableIRQ documentation in CMSIS.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> - if the interrupt was enabled. </dd>
<dd>
<a class="el" href="group__nrf__soc__error.html#ga4660c0925c76d795707fe77c41aac89b" title="NVIC interrupt not available.">NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE</a> - if the interrupt is not available for the application. </dd>
<dd>
<a class="el" href="group__nrf__soc__error.html#gae2b0d8c5f538bbcab43d82f04412463d" title="NVIC interrupt priority not allowed.">NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED</a> - if the interrupt has a priority not available for the application. </dd></dl>

</div>
</div>
<a class="anchor" id="gac145fde7e2f48e88ab229c375b062993"></a><!-- doxytag: member="nrf_soc.h::nrf_nvic_DisableIRQ" ref="gac145fde7e2f48e88ab229c375b062993" args="(IRQn_Type IRQn)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_nvic_DisableIRQ </td>
          <td>(</td>
          <td class="paramtype">IRQn_Type&#160;</td>
          <td class="paramname"><em>IRQn</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Disable External Interrupt. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Corresponds to NVIC_DisableIRQ in CMSIS.</dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>{IRQn is valid and not reserved by the stack}</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">IRQn</td><td>See the NVIC_DisableIRQ documentation in CMSIS</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> - if the interrupt was disabled. </dd>
<dd>
<a class="el" href="group__nrf__soc__error.html#ga4660c0925c76d795707fe77c41aac89b" title="NVIC interrupt not available.">NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE</a> - if the interrupt is not available for the application. </dd></dl>

</div>
</div>
<a class="anchor" id="ga25cc663bcd35f40c231844c627b7fc3b"></a><!-- doxytag: member="nrf_soc.h::nrf_nvic_GetPendingIRQ" ref="ga25cc663bcd35f40c231844c627b7fc3b" args="(IRQn_Type IRQn, uint32_t *p_pending_irq)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_nvic_GetPendingIRQ </td>
          <td>(</td>
          <td class="paramtype">IRQn_Type&#160;</td>
          <td class="paramname"><em>IRQn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>p_pending_irq</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get Pending Interrupt. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Corresponds to NVIC_GetPendingIRQ in CMSIS.</dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>{IRQn is valid and not reserved by the stack}</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">IRQn</td><td>See the NVIC_GetPendingIRQ documentation in CMSIS. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">p_pending_irq</td><td>Return value from NVIC_GetPendingIRQ.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> - if the interrupt is available for the application. </dd>
<dd>
<a class="el" href="group__nrf__soc__error.html#ga4660c0925c76d795707fe77c41aac89b" title="NVIC interrupt not available.">NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE</a> - if IRQn is not available for the application. </dd></dl>

</div>
</div>
<a class="anchor" id="gaad1ef845b8cce8412c037cf82f95060a"></a><!-- doxytag: member="nrf_soc.h::nrf_nvic_SetPendingIRQ" ref="gaad1ef845b8cce8412c037cf82f95060a" args="(IRQn_Type IRQn)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_nvic_SetPendingIRQ </td>
          <td>(</td>
          <td class="paramtype">IRQn_Type&#160;</td>
          <td class="paramname"><em>IRQn</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set Pending Interrupt. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Corresponds to NVIC_SetPendingIRQ in CMSIS.</dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>{IRQn is valid and not reserved by the stack}</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">IRQn</td><td>See the NVIC_SetPendingIRQ documentation in CMSIS.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> - if the interrupt is available for the application. </dd>
<dd>
<a class="el" href="group__nrf__soc__error.html#ga4660c0925c76d795707fe77c41aac89b" title="NVIC interrupt not available.">NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE</a> - if IRQn is not available for the application. </dd></dl>

</div>
</div>
<a class="anchor" id="ga444796a3a1fc91db087ceebcd92d6561"></a><!-- doxytag: member="nrf_soc.h::nrf_nvic_ClearPendingIRQ" ref="ga444796a3a1fc91db087ceebcd92d6561" args="(IRQn_Type IRQn)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_nvic_ClearPendingIRQ </td>
          <td>(</td>
          <td class="paramtype">IRQn_Type&#160;</td>
          <td class="paramname"><em>IRQn</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Clear Pending Interrupt. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Corresponds to NVIC_ClearPendingIRQ in CMSIS.</dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>{IRQn is valid and not reserved by the stack}</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">IRQn</td><td>See the NVIC_ClearPendingIRQ documentation in CMSIS.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> - if the interrupt is available for the application. </dd>
<dd>
<a class="el" href="group__nrf__soc__error.html#ga4660c0925c76d795707fe77c41aac89b" title="NVIC interrupt not available.">NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE</a> - if IRQn is not available for the application. </dd></dl>

</div>
</div>
<a class="anchor" id="gad1a939313c86ac881a0b1043715ef475"></a><!-- doxytag: member="nrf_soc.h::nrf_nvic_SetPriority" ref="gad1a939313c86ac881a0b1043715ef475" args="(IRQn_Type IRQn, nrf_app_irq_priority_t priority)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_nvic_SetPriority </td>
          <td>(</td>
          <td class="paramtype">IRQn_Type&#160;</td>
          <td class="paramname"><em>IRQn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__nrf__soc__api.html#gae4f033d4d50d42e8b1390dade6ee8f98">nrf_app_irq_priority_t</a>&#160;</td>
          <td class="paramname"><em>priority</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set Interrupt Priority. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Corresponds to NVIC_SetPriority in CMSIS.</dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>{IRQn is valid and not reserved by the stack} </dd>
<dd>
{priority is valid and not reserved by the stack}</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">IRQn</td><td>See the NVIC_SetPriority documentation in CMSIS. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">priority</td><td>A valid IRQ priority for use by the application.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> - if the interrupt and priority level is available for the application. </dd>
<dd>
<a class="el" href="group__nrf__soc__error.html#ga4660c0925c76d795707fe77c41aac89b" title="NVIC interrupt not available.">NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE</a> - if IRQn is not available for the application. </dd>
<dd>
<a class="el" href="group__nrf__soc__error.html#gae2b0d8c5f538bbcab43d82f04412463d" title="NVIC interrupt priority not allowed.">NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED</a> - if priority is not available for the application. </dd></dl>

</div>
</div>
<a class="anchor" id="gaf411d0efea26ac8a0003ce57f43d46b1"></a><!-- doxytag: member="nrf_soc.h::nrf_nvic_GetPriority" ref="gaf411d0efea26ac8a0003ce57f43d46b1" args="(IRQn_Type IRQn, nrf_app_irq_priority_t *p_priority)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_nvic_GetPriority </td>
          <td>(</td>
          <td class="paramtype">IRQn_Type&#160;</td>
          <td class="paramname"><em>IRQn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__nrf__soc__api.html#gae4f033d4d50d42e8b1390dade6ee8f98">nrf_app_irq_priority_t</a> *&#160;</td>
          <td class="paramname"><em>p_priority</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get Interrupt Priority. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Corresponds to NVIC_GetPriority in CMSIS.</dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>{IRQn is valid and not reserved by the stack}</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">IRQn</td><td>See the NVIC_GetPriority documentation in CMSIS. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">p_priority</td><td>Return value from NVIC_GetPriority.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> - if the interrupt is available for the application. </dd>
<dd>
<a class="el" href="group__nrf__soc__error.html#ga4660c0925c76d795707fe77c41aac89b" title="NVIC interrupt not available.">NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE</a> - if IRQn is not available for the application. </dd></dl>

</div>
</div>
<a class="anchor" id="ga14316a62c4a2010b6222c4ea764079c2"></a><!-- doxytag: member="nrf_soc.h::nrf_nvic_SystemReset" ref="ga14316a62c4a2010b6222c4ea764079c2" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_nvic_SystemReset </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>System Reset. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Corresponds to NVIC_SystemReset in CMSIS.</dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__soc__error.html#gadb16c01a8206067f0831b6a7d9cd41c1" title="NVIC should not return.">NRF_ERROR_SOC_NVIC_SHOULD_NOT_RETURN</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga45b358c92b51248f9e55e1d99756136b"></a><!-- doxytag: member="nrf_soc.h::nrf_nvic_critical_region_enter" ref="ga45b358c92b51248f9e55e1d99756136b" args="(uint8_t *p_is_nested_critical_region)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_nvic_critical_region_enter </td>
          <td>(</td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>p_is_nested_critical_region</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enters critical region. </p>
<dl class="post"><dt><b>Postcondition:</b></dt><dd>Application interrupts will be disabled. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__nrf__soc__api.html#ga476819b5a0f3d7c0a378d11c5ee88650" title="Exit critical region.">nrf_nvic_critical_region_exit</a></dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">p_is_nested_critical_region</td><td>1: If in a nested critical region. 0: Otherwise.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga476819b5a0f3d7c0a378d11c5ee88650"></a><!-- doxytag: member="nrf_soc.h::nrf_nvic_critical_region_exit" ref="ga476819b5a0f3d7c0a378d11c5ee88650" args="(uint8_t is_nested_critical_region)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_nvic_critical_region_exit </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>is_nested_critical_region</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Exit critical region. </p>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>Application has entered a critical region using <a class="el" href="group__nrf__soc__api.html#ga45b358c92b51248f9e55e1d99756136b" title="Enters critical region.">nrf_nvic_critical_region_enter</a>. </dd></dl>
<dl class="post"><dt><b>Postcondition:</b></dt><dd>If not in a nested critical region, the application interrupts will restored to the state before <a class="el" href="group__nrf__soc__api.html#ga45b358c92b51248f9e55e1d99756136b" title="Enters critical region.">nrf_nvic_critical_region_enter</a> was called.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">is_nested_critical_region</td><td>If this is set to 1, the critical region won't be exited. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__nrf__soc__api.html#ga45b358c92b51248f9e55e1d99756136b" title="Enters critical region.">nrf_nvic_critical_region_enter</a>.</dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga4310a2c78bbf9e780e377ce7187da035"></a><!-- doxytag: member="nrf_soc.h::nrf_rand_application_pool_capacity_get" ref="ga4310a2c78bbf9e780e377ce7187da035" args="(uint8_t *p_pool_capacity)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_rand_application_pool_capacity_get </td>
          <td>(</td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>p_pool_capacity</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Query the capacity of the application random pool. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">p_pool_capacity</td><td>The capacity of the pool.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga529a78306776d8cfb18c874aef536025"></a><!-- doxytag: member="nrf_soc.h::nrf_rand_application_bytes_available_get" ref="ga529a78306776d8cfb18c874aef536025" args="(uint8_t *p_bytes_available)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_rand_application_bytes_available_get </td>
          <td>(</td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>p_bytes_available</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get number of random bytes available to the application. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">p_bytes_available</td><td>The number of bytes currently available in the pool.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga6ba4c4423a03c0cac787f854a7374950"></a><!-- doxytag: member="nrf_soc.h::nrf_rand_application_vector_get" ref="ga6ba4c4423a03c0cac787f854a7374950" args="(uint8_t *p_buff, uint8_t length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_rand_application_vector_get </td>
          <td>(</td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>p_buff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get random bytes from the application pool. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">p_buff</td><td>pointer to unit8_t buffer for storing the bytes. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>number of bytes to take from pool and place in p_buff.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> - if the requested bytes were written to p_buff. </dd>
<dd>
<a class="el" href="group__nrf__soc__error.html#gabb7186c1f08507eecc60e99b569ee2f7" title="RAND not enough values.">NRF_ERROR_SOC_RAND_NOT_ENOUGH_VALUES</a> - if no bytes were written, because there were not enough bytes available. </dd></dl>

</div>
</div>
<a class="anchor" id="ga7316584719bbc8a3ac9db9179cc6eeda"></a><!-- doxytag: member="nrf_soc.h::nrf_power_reset_reason_get" ref="ga7316584719bbc8a3ac9db9179cc6eeda" args="(uint32_t *p_reset_reason)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_power_reset_reason_get </td>
          <td>(</td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>p_reset_reason</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the reset reason register. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">p_reset_reason</td><td>Contents of the NRF_POWER-&gt;RESETREAS register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga7c2fdd9ec1122b6d6902fef11d1fe029"></a><!-- doxytag: member="nrf_soc.h::nrf_power_reset_reason_clr" ref="ga7c2fdd9ec1122b6d6902fef11d1fe029" args="(uint32_t reset_reason_clr_msk)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_power_reset_reason_clr </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>reset_reason_clr_msk</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Clears the bits of the reset reason register. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">reset_reason_clr_msk</td><td>Contains the bits to clear from the reset reason register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gaa80ebbe8aac1a74f0e389d07411cdf4b"></a><!-- doxytag: member="nrf_soc.h::nrf_power_mode_set" ref="gaa80ebbe8aac1a74f0e389d07411cdf4b" args="(nrf_power_mode_t power_mode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_power_mode_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__nrf__soc__api.html#ga4238ce3ed489f96720efd94ba269ef34">nrf_power_mode_t</a>&#160;</td>
          <td class="paramname"><em>power_mode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the power mode when in CPU sleep. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">power_mode</td><td>The power mode to use when in CPU sleep. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__nrf__soc__api.html#ga2aae5f388f1b6179058c62e2fb05a547" title="Waits for an application event.">nrf_wait_for_app_event</a></dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> - if the power mode was set. </dd>
<dd>
<a class="el" href="group__nrf__soc__error.html#gaba78285df6e85daaa153bce5890364df" title="Power mode unknown.">NRF_ERROR_SOC_POWER_MODE_UNKNOWN</a> - if the power mode was unknown. </dd></dl>

</div>
</div>
<a class="anchor" id="ga4070a6cd178fce204f58a1bf6e3fc954"></a><!-- doxytag: member="nrf_soc.h::nrf_power_perpower_set" ref="ga4070a6cd178fce204f58a1bf6e3fc954" args="(uint32_t peripheral_power_msk)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_power_perpower_set </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>peripheral_power_msk</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets bits in the NRF_POWER-&gt;PERPOWER register. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">peripheral_power_msk</td><td>Contains the bits of the peripherals to turn on. 1's turn peripherals on, 0's has no effect.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga32fbf0020bac4b9746178a337ff276c7"></a><!-- doxytag: member="nrf_soc.h::nrf_power_perpower_clr" ref="ga32fbf0020bac4b9746178a337ff276c7" args="(uint32_t peripheral_power_msk)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_power_perpower_clr </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>peripheral_power_msk</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Clears bits in the NRF_POWER-&gt;PERPOWER register. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">peripheral_power_msk</td><td>Contains the bits of the peripherals to turn off. 1's turn peripherals off, 0's has no effect.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gabaf2aa42d1d287d9d4fd2b00ecda1da7"></a><!-- doxytag: member="nrf_soc.h::nrf_power_perrdy_get" ref="gabaf2aa42d1d287d9d4fd2b00ecda1da7" args="(uint32_t *p_perrdy)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_power_perrdy_get </td>
          <td>(</td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>p_perrdy</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get contents of NRF_POWER-&gt;PERRDY register, indicates which peripherals are powered on/off. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">p_perrdy</td><td>Content of NRF_POWER-&gt;PERRDY register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga302701614c7bb1c9fc01dafec2bb04fb"></a><!-- doxytag: member="nrf_soc.h::nrf_power_system_off" ref="ga302701614c7bb1c9fc01dafec2bb04fb" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_power_system_off </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Puts the chip in System OFF mode. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__soc__error.html#ga57d53aa15592b0bfacc98d99c4dda07b" title="Power off should not return.">NRF_ERROR_SOC_POWER_OFF_SHOULD_NOT_RETURN</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga9a68c632ad6a5ce523de969060b211c5"></a><!-- doxytag: member="nrf_soc.h::nrf_power_pof_enable" ref="ga9a68c632ad6a5ce523de969060b211c5" args="(uint8_t pof_enable, nrf_power_failure_callback_t pof_callback)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_power_pof_enable </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pof_enable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__nrf__soc__api.html#ga2fa1cbca17f204aac02cf3654567dd9c">nrf_power_failure_callback_t</a>&#160;</td>
          <td class="paramname"><em>pof_callback</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enables or disables the power-fail comparator. </p>
<p>The pof_callback will be called in SVC priority.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pof_enable</td><td>true if the power-fail comparator should be enabled, false if it should be disabled. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">pof_callback</td><td>power failure callback function to register, can be set to NULL-pointer when disabling.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga6d0f7bfe966b1137f0667f56ad068462"></a><!-- doxytag: member="nrf_soc.h::nrf_power_pof_threshold_set" ref="ga6d0f7bfe966b1137f0667f56ad068462" args="(nrf_power_failure_threshold_t threshold)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_power_pof_threshold_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__nrf__soc__api.html#gac0c2f5c58e2f930814dcf5b878fe7907">nrf_power_failure_threshold_t</a>&#160;</td>
          <td class="paramname"><em>threshold</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the power-fail threshold value. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">threshold</td><td>The power-fail threshold value to use.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> - if the threshold was set. </dd>
<dd>
<a class="el" href="group__nrf__soc__error.html#ga4c66885f407427c323d19539f6e59e0d" title="Power POF threshold unknown.">NRF_ERROR_SOC_POWER_POF_THRESHOLD_UNKNOWN</a> - if the threshold is unknown. </dd></dl>

</div>
</div>
<a class="anchor" id="ga8abf79b52943726785255263a7d6efb0"></a><!-- doxytag: member="nrf_soc.h::nrf_power_ramon_set" ref="ga8abf79b52943726785255263a7d6efb0" args="(uint32_t ramon)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_power_ramon_set </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>ramon</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets bits in the NRF_POWER-&gt;RAMON register. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ramon</td><td>Contains the bits needed to be set in the NRF_POWER-&gt;RAMON register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gac334721cc6122795d4a39466f615f4f1"></a><!-- doxytag: member="nrf_soc.h::nrf_power_ramon_clr" ref="gac334721cc6122795d4a39466f615f4f1" args="(uint32_t ramon)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_power_ramon_clr </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>ramon</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Clears bits in the NRF_POWER-&gt;RAMON register. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ramon</td><td>Contains the bits needed to be cleared in the NRF_POWER-&gt;RAMON register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga29d403a9d694ef748c4ad69cafee708b"></a><!-- doxytag: member="nrf_soc.h::nrf_power_ramon_get" ref="ga29d403a9d694ef748c4ad69cafee708b" args="(uint32_t *p_ramon)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_power_ramon_get </td>
          <td>(</td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>p_ramon</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get contents of NRF_POWER-&gt;RAMON register, indicates power status of ram blocks. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">p_ramon</td><td>Content of NRF_POWER-&gt;RAMON register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga03b395172fd9e6157542a54d2b0d9846"></a><!-- doxytag: member="nrf_soc.h::nrf_clock_hfclk_request" ref="ga03b395172fd9e6157542a54d2b0d9846" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_clock_hfclk_request </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Request the high frequency crystal oscillator. </p>
<p>Will start the high frequency crystal oscillator, the startup time of the crystal varies and the <a class="el" href="group__nrf__soc__api.html#gaa3fb83e20c2a3f6b3939fcdd232e94a6" title="Checks if the high frequency crystal oscillator is running.">nrf_clock_hfclk_is_running</a> function can be polled to check if it has started.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__nrf__soc__api.html#gaa3fb83e20c2a3f6b3939fcdd232e94a6" title="Checks if the high frequency crystal oscillator is running.">nrf_clock_hfclk_is_running</a> </dd>
<dd>
<a class="el" href="group__nrf__soc__api.html#gaf8784db461524e809a2a35c0e19959cb" title="Releases the high frequency crystal oscillator.">nrf_clock_hfclk_release</a></dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gaf8784db461524e809a2a35c0e19959cb"></a><!-- doxytag: member="nrf_soc.h::nrf_clock_hfclk_release" ref="gaf8784db461524e809a2a35c0e19959cb" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_clock_hfclk_release </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Releases the high frequency crystal oscillator. </p>
<p>Will stop the high frequency crystal oscillator, this happens immediately.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__nrf__soc__api.html#gaa3fb83e20c2a3f6b3939fcdd232e94a6" title="Checks if the high frequency crystal oscillator is running.">nrf_clock_hfclk_is_running</a> </dd>
<dd>
<a class="el" href="group__nrf__soc__api.html#ga03b395172fd9e6157542a54d2b0d9846" title="Request the high frequency crystal oscillator.">nrf_clock_hfclk_request</a></dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gaa3fb83e20c2a3f6b3939fcdd232e94a6"></a><!-- doxytag: member="nrf_soc.h::nrf_clock_hfclk_is_running" ref="gaa3fb83e20c2a3f6b3939fcdd232e94a6" args="(uint32_t *p_is_running)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_clock_hfclk_is_running </td>
          <td>(</td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>p_is_running</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks if the high frequency crystal oscillator is running. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__nrf__soc__api.html#ga03b395172fd9e6157542a54d2b0d9846" title="Request the high frequency crystal oscillator.">nrf_clock_hfclk_request</a> </dd>
<dd>
<a class="el" href="group__nrf__soc__api.html#gaf8784db461524e809a2a35c0e19959cb" title="Releases the high frequency crystal oscillator.">nrf_clock_hfclk_release</a></dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">p_is_running</td><td>1 if the external crystal oscillator is running, 0 if not.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga2aae5f388f1b6179058c62e2fb05a547"></a><!-- doxytag: member="nrf_soc.h::nrf_wait_for_app_event" ref="ga2aae5f388f1b6179058c62e2fb05a547" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_wait_for_app_event </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Waits for an application event. </p>
<p>An application event is either an application interrupt or a pended interrupt when the interrupt is disabled. When the interrupt is enabled it will be taken immediately since this function will wait in thread mode, then the execution will return in the application's main thread. When an interrupt is disabled and gets pended it will return to the application's thread main. The application must ensure that the pended flag is cleared using <a class="el" href="group__nrf__soc__api.html#ga444796a3a1fc91db087ceebcd92d6561" title="Clear Pending Interrupt.">nrf_nvic_ClearPendingIRQ</a> in order to sleep using this function. This is only necessary for disabled interrupts, as the interrupt handler will clear the pending flag automatically for enabled interrupts.</p>
<p>In order to wake up from disabled interrupts, the SEVONPEND flag has to be set in the Cortex-M0 System Control Register (SCR). </p>
<dl class="see"><dt><b>See also:</b></dt><dd>CMSIS_SCB</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>If an application interrupt has happened since the last time nrf_wait_for_app_event was called this function will return immediately and not go to sleep. This is to avoid race conditions that can occur when a flag is updated in the interrupt handler and processed in the main loop.</dd></dl>
<dl class="post"><dt><b>Postcondition:</b></dt><dd>An application interrupt has happened or a interrupt pending flag is set.</dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gab9f02ac43ec7754bf327571aebd6a612"></a><!-- doxytag: member="nrf_soc.h::nrf_ppi_channel_enable_get" ref="gab9f02ac43ec7754bf327571aebd6a612" args="(uint32_t *p_channel_enable)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_ppi_channel_enable_get </td>
          <td>(</td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>p_channel_enable</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get PPI channel enable register contents. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">p_channel_enable</td><td>The contents of the PPI CHEN register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gad18f79c96963c57714cf30b5922fe8e5"></a><!-- doxytag: member="nrf_soc.h::nrf_ppi_channel_enable_set" ref="gad18f79c96963c57714cf30b5922fe8e5" args="(uint32_t channel_enable_set_msk)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_ppi_channel_enable_set </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>channel_enable_set_msk</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set PPI channel enable register. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">channel_enable_set_msk</td><td>Mask containing the bits to set in the PPI CHEN register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga6374d2c7eb2e47f87dd7cd8d7e246e04"></a><!-- doxytag: member="nrf_soc.h::nrf_ppi_channel_enable_clr" ref="ga6374d2c7eb2e47f87dd7cd8d7e246e04" args="(uint32_t channel_enable_clr_msk)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_ppi_channel_enable_clr </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>channel_enable_clr_msk</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Clear PPI channel enable register. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">channel_enable_clr_msk</td><td>Mask containing the bits to clear in the PPI CHEN register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga36d104cdb021a86c919485ac34c48fa2"></a><!-- doxytag: member="nrf_soc.h::nrf_ppi_channel_assign" ref="ga36d104cdb021a86c919485ac34c48fa2" args="(uint8_t channel_num, const volatile void *event_endpoint, const volatile void *task_endpoint)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_ppi_channel_assign </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>channel_num</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const volatile void *&#160;</td>
          <td class="paramname"><em>event_endpoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const volatile void *&#160;</td>
          <td class="paramname"><em>task_endpoint</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Assign endpoints to a PPI channel. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">channel_num</td><td>Number of the PPI channel to assign. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">event_endpoint</td><td>Event endpoint of the PPI channel. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">task_endpoint</td><td>Task endpoint of the PPI channel.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__soc__error.html#ga563fa0ece398152e3256b09da51fda7f" title="Invalid PPI Channel.">NRF_ERROR_SOC_PPI_INVALID_CHANNEL</a> - If the channel number is invalid. </dd>
<dd>
<a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> - On success. </dd></dl>

</div>
</div>
<a class="anchor" id="ga60a133b68053dec8ba337640b5ca5faf"></a><!-- doxytag: member="nrf_soc.h::nrf_ppi_group_task_enable" ref="ga60a133b68053dec8ba337640b5ca5faf" args="(uint8_t group_num)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_ppi_group_task_enable </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>group_num</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Task to enable a channel group. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">group_num</td><td>Number of the channel group.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__soc__error.html#ga78bb614cb480357c7cb191ec8efba5fb" title="Invalid PPI Group.">NRF_ERROR_SOC_PPI_INVALID_GROUP</a> - If the group number is invalid </dd>
<dd>
<a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> - On success </dd></dl>

</div>
</div>
<a class="anchor" id="ga29923c615e02ef9b9aaca0c5edcac2e2"></a><!-- doxytag: member="nrf_soc.h::nrf_ppi_group_task_disable" ref="ga29923c615e02ef9b9aaca0c5edcac2e2" args="(uint8_t group_num)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_ppi_group_task_disable </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>group_num</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Task to disable a channel group. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">group_num</td><td>Number of the PPI group.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__soc__error.html#ga78bb614cb480357c7cb191ec8efba5fb" title="Invalid PPI Group.">NRF_ERROR_SOC_PPI_INVALID_GROUP</a> - If the group number is invalid. </dd>
<dd>
<a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> - On success. </dd></dl>

</div>
</div>
<a class="anchor" id="ga12f534bb509f0e6f7fa4688eda7f98a0"></a><!-- doxytag: member="nrf_soc.h::nrf_ppi_group_assign" ref="ga12f534bb509f0e6f7fa4688eda7f98a0" args="(uint8_t group_num, uint32_t channel_msk)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_ppi_group_assign </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>group_num</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>channel_msk</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Assign PPI channels to a channel group. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">group_num</td><td>Number of the channel group. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">channel_msk</td><td>Mask of the channels to assign to the group.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__soc__error.html#ga78bb614cb480357c7cb191ec8efba5fb" title="Invalid PPI Group.">NRF_ERROR_SOC_PPI_INVALID_GROUP</a> - If the group number is invalid. </dd>
<dd>
<a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> - On success. </dd></dl>

</div>
</div>
<a class="anchor" id="ga5385489e5ff909addcedf7e315504464"></a><!-- doxytag: member="nrf_soc.h::nrf_ppi_group_get" ref="ga5385489e5ff909addcedf7e315504464" args="(uint8_t group_num, uint32_t *p_channel_msk)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_ppi_group_get </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>group_num</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>p_channel_msk</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the PPI channels of a channel group. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">group_num</td><td>Number of the channel group. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">p_channel_msk</td><td>Mask of the channels assigned to the group.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__soc__error.html#ga78bb614cb480357c7cb191ec8efba5fb" title="Invalid PPI Group.">NRF_ERROR_SOC_PPI_INVALID_GROUP</a> - If the group number is invalid. </dd>
<dd>
<a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> - On success. </dd></dl>

</div>
</div>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>


    <li class="footer">
      Copyright &copy 2006-2011 <a href="http://www.nordicsemi.no" style="text-decoration:none">Nordic Semiconductor</a>.
      All Rights Reserved.
      <a href="disclaimer.html">Disclaimer</a>
    </li>
   </ul>
 </div>


</body>
</html>
